package views.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
/**
 * Anotacio que utilitzaran les clases del model per a definir una vista. 
 *
 */
public @interface View {

	/**
	 * camps que seran visibles, per omisio es voran tots
	 */
	String fields();

	/**
	 * Nom de la vista
	 */
	String name();

	/**
	 * referencia als arguments, separats per coma
	 */
	String args() default "";

	@Target(ElementType.TYPE)
	@Retention(RetentionPolicy.RUNTIME)
	@interface Views {

		View[] value();
	}
}
